An algorithm for rotating an image in memory through a small angle is described.
In a graphics composition station, text is entered into the system in character coded form, either through telephone lines, in the form of magnetic media, or the like. Similarly, images can be input by scanning originals, or by receiving the information on phone lines. The composition station can then create documents by arranging the images and text on the output pages.
For quality graphic composition, the operator should have the capability of rotating the image through any small angle. A minimum capability of rotating the image through angles of up to about five degrees is required.
The obvious way to rotate an image is to store the original image in one area of memory, and assemble a rotated image in a second area of memory by transferring each pixel from one image to the other. However, there is a serious problem with this method. That is, as the image is rotated, the pixels from the original image matrix will fall between the pixel locations in the second area of memory. For this reason, interpolation must be applied to each pixel. Thus, for any arbitrary angle, there must be a series of computations performed for each pixel, which will result in low speed operation. The alternative is to process the data in hardware, which will increase the cost of the system. There is a need for a simplified, high speed algorithm for rotating images through small angles.